如果利用POST來傳送表單內容,相對GET來說會安全許多!
上面只是相對來說,
但如果我們真正要做的話,
我們是不是就要將密碼加密呢?
不要利用明碼的方式儲存在資料庫,這樣比較安全~
我們在網路上能看到很多雜湊方式,那其中那些又是推薦使用的呢?
最常看到得雜湊方式應該是md5了吧!
雖然我們知道md5是擁有不可逆的,但是安全嗎?
我們看看來自wiki的資料
MD5訊息摘要演算法
1996年後被證實存在弱點,可以被加以破解
以上我們也簡單討論帶過關於MD5的內容
以前啊我們要用MD5雜湊時,我們是不是使用MD5()這個函式來做雜湊,
但因為現在雜湊的方式越來越多種了,所以PHP就用了一個hash函式
方便使用者調用~
我們來介紹PHP內的hash()函式吧!
那我們該如何知道hash函式內包含哪些演算法呢?
我們可以從PHP的官方網站的hash_algos頁面
我們可以看到裡面包含的演算法有高達46種!
像是常見的MD5、SHA256等等的都有包含在hash函式裡面
[0] => md2
[1] => md4
[2] => md5
[3] => sha1
[4] => sha224
[5] => sha256
[6] => sha384
[7] => sha512
[8] => ripemd128
[9] => ripemd160
[10] => ripemd256
[11] => ripemd320
[12] => whirlpool
[13] => tiger128,3
[14] => tiger160,3
[15] => tiger192,3
[16] => tiger128,4
[17] => tiger160,4
[18] => tiger192,4
[19] => snefru
[20] => snefru256
[21] => gost
[22] => gost-crypto
[23] => adler32
[24] => crc32
[25] => crc32b
[26] => fnv132
[27] => fnv1a32
[28] => fnv164
[29] => fnv1a64
[30] => joaat
[31] => haval128,3
[32] => haval160,3
[33] => haval192,3
[34] => haval224,3
[35] => haval256,3
[36] => haval128,4
[37] => haval160,4
[38] => haval192,4
[39] => haval224,4
[40] => haval256,4
[41] => haval128,5
[42] => haval160,5
[43] => haval192,5
[44] => haval224,5
[45] => haval256,5
好看到了那麼多種,我們利用其中幾種作示範
例如我們要使用MD5將email進行雜湊
我們可以這樣寫
<?php
$hashget = hash('MD5', '你的email');
echo $hashget;
?>
我們可以一起實作看看
http://sandbox.onlinephpfunctions.com/
在網頁上我們將程式碼打好,下方有一個
Execute Code按下去,他就會執行我們上面所寫的程式碼!
我們程式執行後的結果,我們可以知道得到了一大串英數字~
這些就能用來代替我們所設定的密碼登入呢!
那如果我們使用SHA256來進行雜湊呢?
會出現甚麼呢?
有沒有邦友能夠解出這題的答案呢XDDDDD
留言區開放留言!
<?php
$hashget = hash('SHA256', 'test@nanado.com.tw');
echo $hashget;
?>
當我們要做登入系統時,我們能將密碼+**裝置獨一無二的ID(假設)**進行SHA256雜湊,
得到一串英數字,那這樣是不是就只能透過某一台裝置+正確帳號密碼才能登入呢?
答案下篇揭曉~